<?php
/**
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package Textbook
* @subpackage User
* @author Aljaz Srebrnic <a2piratesoft@gmail.com>;
* @author E. Pavletič
* @copyright 2008 a2PirateSoftware
* @license GPL License v3 <http://www.gnu.org/copyleft/gpl.html>
*/

class User_Form_Register extends ZNF_Action_ActionForm
{
 
    private $_id = null;
    private $_username = null;
    private $_name = null;
    private $_surname = null;
    private $_phone = null;
    private $_cell = null; 
    private $_email = null; 
    private $_icq = null;
    private $_msn = null;
    private $_skype = null;
    
    private $emailPattern = "^[!-'*+=?{-~/-9A-Z^-z-]+(\.[!-'*+=?{-~/-9A-Z^-z-]+)*@[!-'*+=?{-~/-9A-Z^-z-]+\.[!-'*+=?{-~/-9A-Z^-z-]{2,}";

    public function validate()
    {
        $errors = new ZNF_Action_ActionErrors();
        $translation =  new ZNF_Presentation_Translation('User', $_SESSION['znf']['lang']);
        
        if (($this->getUsername() == null) || strlen($this->getUsername()) > 20)
            $errors->addError(1, $translation->get('errorUsernameNotValid'));

        if(($this->getEmail() == null) || ereg($this->emailPattern, $this->getEmail()) === FALSE)
            $errors->addError(2, $translation->get('errorEmailNotValid'));
        
        if(strcmp($_COOKIE['tbtoken'], md5($_POST['key'])))
            $errors->addError(3, $translation->get('errorFormTimedOut'));
        
        return $errors;
    }

    public function populate()
    {
        if (isset($_POST['id'])) 
            $this->_id = intval($_POST['id']);
        
        if (isset($_POST['username']))
            $this->_username = htmlspecialchars(addslashes(trim($_POST['username'])));
        
        if (isset($_POST['name']))
            $this->_name = htmlspecialchars(addslashes(trim($_POST['name'])));
        
		if (isset($_POST['surname']))
            $this->_surname = htmlspecialchars(addslashes(trim($_POST['surname'])));
        
		if (isset($_POST['phone']))
            $this->_phone = htmlspecialchars(addslashes(trim($_POST['phone'])));
        
        if (isset($_POST['cell']))
            $this->_cell = htmlspecialchars(addslashes(trim($_POST['cell'])));
        
		if (isset($_POST['email']))
            $this->_email = htmlspecialchars(addslashes(trim($_POST['email'])));
        
		if (isset($_POST['icq']) && strlen(trim($_POST['icq'])) > 0)
            $this->_icq = intval($_POST['icq']);
        
		if (isset($_POST['msn']))
            $this->_msn = htmlspecialchars(addslashes(trim($_POST['msn'])));
	
		if (isset($_POST['skype']))
            $this->_skype = htmlspecialchars(addslashes(trim($_POST['skype'])));
    }
    
    public function getId() {
        return $this->_id;
    }
    
    public function getUsername() {
        return $this->_username;
    }

    public function getName() {
        return $this->_name;
    }

    public function getSurname() {
        return $this->_surname;
    }

    public function getEmail() {
        return $this->_email;
    }

    public function getPhone() {
        return $this->_phone;
    }

    public function getCell() {
        return $this->_cell;
    }
    
    public function getIcq() {
        return $this->_icq;
    }
    
    public function getMsn() {
        return $this->_msn;
    }
    
     public function getSkype() {
        return $this->_skype;
    }
}


?>